﻿using ImModels.Service.Models.Data;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ImModels.View
{
    /// <summary>
    /// 进入新会话 请求视图
    /// </summary>
    public class CreateSessionReq
    {
        /// <summary>
        /// 发起者的用户ID
        /// </summary>
        public string BizUserId { get; set; } = "";

        /// <summary>
        /// 接收方 用户ID
        /// </summary>
        public string ToUserId { get; set; } = "";

        /// <summary>
        /// 接收方 用户名称 
        /// </summary>
        public string ToUserName { get; set; } = "";

        /// <summary>
        /// 接收方 职位
        /// </summary>
        public string ToUserJob { get; set; } = "";

        /// <summary>
        /// 接收方 联系电话
        /// </summary>
        public string ToUserTel { get; set; } = "";

        /// <summary>
        /// 接收方 头像
        /// </summary>
        public string HeadImg { get; set; } = "";
    }

    /// <summary>
    /// 进入新会话 回应视图
    /// </summary>
    public class OpenSessionRes
    {
        /// <summary>
        /// 是否为群聊 是否为群组 0用户,1群组 2系统会话
        /// </summary>
        public short IsGroup { get; set; } = 0;

        public string ToBizUserId { get; set; } = "";

        /// <summary>
        /// 会话名称 
        /// 如果是私聊，则查询用户昵称 更新此值
        /// 如果是群聊，则查询Group名称 更新此值
        /// </summary>
        public string FullName { get; set; } = "";

        /// <summary>
        /// 我备注的昵称 这个跟到 会话走的 不会随着对方的修改而被修改
        /// </summary>
        public string NickName { get; set; } = "";

        /// <summary>
        /// 头像 查询对应的 用户 和 群更新此头像
        /// </summary>
        public string HeadImg { get; set; } = "";

        /// <summary>
        /// 扩展信息 来源与 用户 或 群的 公共信息
        /// </summary>
        public object ExJson { get; set; } = "";

        /// <summary>
        /// 聊天消息记录
        /// </summary>
        public List<Msgs> ChatMsgs { get; set; }

        /// <summary>
        /// 群的用户信息  当会话为群会话的时候 此数组有值
        /// </summary>
        public List<ImGroupUser> GroupUsers { get; set; }
    }
}
